Transmitting display content to vehicles to render contemporaneously during a content time period with related content at a display screen

ABSTRACT

Provided are a computer program product, system, and method for transmitting display content to vehicles to render contemporaneously during a content time period with related content at a display screen. A subscription database maintains subscriber information for a subscriber, indicating display content, a content time period, a subscriber display location at which the subscriber renders subscriber content contemporaneously with the display content during the content time period, and a display boundary in which the display content is to be rendered. Vehicles are determined having a vehicle location within the display boundary of the subscriber display location. A content package is transmitted to each of the determined vehicles having the display content and the content time period to cause rendering of the display content on vehicle display screens coupled to the vehicles contemporaneously with rendering the subscriber content at the subscriber display location.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a computer program product, system, and method for transmitting display content to vehicles to render contemporaneously during a content time period with related content at a display screen.

2. Description of the Related Art

Vehicle mobile digital signage involves mounting a display screen on a car, typically the roof, and display advertisements while the car is driving around. The company Ozzy Media, Inc., operating as Firefly, provides drivers Internet mounted smart screens to mount on a roof rack on their car to serve targeted advertisements to display on the mounted digital screen based on a car's location, referred to as geo-fencing of advertisements. Mobile advertising on vehicles is very effective for reaching potential consumers and results in numerous impressions.

There is a need in the art for improved techniques for targeting content to digital signage deployed on vehicles to display while the vehicles are driving in an area.

SUMMARY

Provided are a computer program product, system, and method for transmitting display content to vehicles to render contemporaneously during a content time period with related content at a display screen. A vehicle database maintains vehicle information indicating, for each vehicle of a plurality of vehicles, a vehicle location value. A subscription database maintains subscriber information for a subscriber, indicating display content, a content time period, a subscriber display location at which the subscriber renders subscriber content contemporaneously with the display content during the content time period, and a display boundary in which the display content is to be rendered. Vehicles are determined having a vehicle location within the display boundary of the subscriber display location. A content package is transmitted to each of the determined vehicles having the display content and the content time period to cause rendering of the display content on vehicle display screens coupled to the vehicles contemporaneously with rendering the subscriber content at the subscriber display location.

Additionally, the display content is rendered at the determined vehicles simultaneously during the content time period with the subscriber content rendered at the subscriber display location.

Additionally, the display content comprises first display content to render contemporaneously during the content time period with first subscriber content rendered at the subscriber display location and second display content to render contemporaneously during the content time period with second subscriber content at the subscriber display location. The transmitting the content package causes the determined vehicles to alternate between rendering the first display content and the second display content to contemporaneously render during the content time period the first and second display content with the rendering of the first and second subscriber content, respectively, at the subscriber display location.

Additionally, the display content comprises at least one of same content as the subscriber content formatted for rendering on the vehicle display screens and information supplementing the subscriber content.

Additionally, the content package causes the determined vehicles to terminate rendering the display content on the vehicle display screens in response to the determined vehicles being located outside the display boundary.

Additionally, the subscriber information is received from the subscriber over a network. The subscriber operates a display screen at the subscriber display location to display the subscriber content to traffic contemporaneously during the content time period with the rendering of the display content at the vehicle display screens.

Additionally, the received subscriber information includes multiple instances of display content related to multiple instances of subscriber content and a display schedule to have the multiple instances of display content rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen at the subscriber display location.

Additionally, the display schedule is processed to generate display time information for each instance of the display content to cause the multiple instances of display content to be rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a content distribution environment.

FIG. 2 illustrates an embodiment of a content packet.

FIG. 3 illustrates an embodiment of subscriber information.

FIG. 4 illustrates an embodiment of content instance information.

FIG. 5 illustrates an embodiment of vehicle information.

FIG. 6 illustrates an embodiment of a content assignment.

FIG. 7 illustrates an embodiment of operations to generate content packets to distribute content to vehicles to render on display screens at the vehicles.

FIG. 8 illustrates an embodiment of operations to render content from content packets on a display screen coupled to the vehicle.

FIG. 9 illustrates an embodiment of operations to process a complete packet to determine fees to charge for content rendered at a vehicle.

FIG. 10 illustrates an embodiment of operations at the vehicle to process a signal indicating the brakes at the vehicle are applied to display content and a brake notification.

FIG. 11 illustrates an embodiment of subscriber information having display content to render at vehicles contemporaneously during a content time period with related content rendered at a display screen operated by the subscriber.

FIG. 12 illustrates an embodiment of a display schedule to render the display content with the subscriber information.

FIG. 13 illustrates an embodiment of a content packet having the display content to render at vehicles contemporaneously during a content time period with related content rendered at the subscriber display screen.

FIG. 14 illustrates an embodiment of operations to receive subscriber information having display content.

FIG. 15 illustrates an embodiment of operations to generate a content packet with the display content to send to vehicles to render on display screens at the vehicles contemporaneously during a content time period with related content rendered at the subscriber display screen.

FIG. 16 illustrates an embodiment of operations to render content from content packets on a display screen coupled to the vehicle.

FIG. 17 illustrates a computing environment in which the components of FIG. 1 may be implemented

DETAILED DESCRIPTION

Current mobile digital signage involves providing very expensive rooftop display systems to allow ads to be transmitted to the display system to display on the vehicle. These costs limit the ability to expand the driver base because of the large capital outlays required to install digital signage on the automobiles to render advertisements. Further, prior art rooftop digital display systems may have to be wired to a car's electrical system. Further, displaying ads on a side of the vehicle limits the viewership. These costs and limitations associated with current mobile digital advertising has limited wide scale adoption and expansion of digital signage.

Described embodiments provide improved computer technology and systems to distribute subscriber content to vehicles to satisfy subscriber parameters for the content. Described embodiments provide a vehicle database having vehicle information indicating, for each vehicle of a plurality of vehicles, a vehicle location value. A subscription database has subscriber information for each of a plurality of subscribers, having content instances. Each content instance indicates content, a content time period, and a content location at which the content is to be rendered during the content time period. For each group of content instances in the subscriber information for the subscribers having a same location and a content time period that begins at a current time, a determination is made of vehicles having a vehicle location within the content location. For each group of content instances, a determination is made of an assignment of the content instances to a vehicle of the determined vehicles. For each vehicle assigned the content instances, a content package having content from the assigned content instances is transmitted to the assigned vehicle to cause the assigned vehicle to display the content on a display screen coupled to the vehicle to be viewed by people in a vicinity of the vehicle.

The described embodiments provide databases and computer technology to match subscriber content to vehicles that satisfy the subscriber criteria for distributing. Described embodiments form content packets to transmit content assigned to a vehicle to the assigned vehicle to render at the vehicle. The content in the content packets may come from different subscribers, but have the same distribution criteria, such as time period, location, traffic density, etc., so that content may be bundled in one content packet to provide to one vehicle to render on a display screen at the vehicle to satisfy the subscriber distribution criteria.

An additional embodiment provides improved techniques for distributing components to an operator of a vehicle, including a projector, a display screen, and computer program stored in a mobile computing device in the vehicle. The mobile communication device may also be distributed to the operator of the vehicle or the operator may provide the mobile communication device in the form of a smartphone. The display screen is attached to the interior of the vehicle to stream content from the mobile computing device included in a content packet transmitted from the content distribution system. This allows for the wide scale adoption of the content delivery system at vehicles by providing relatively low cost components, including a projector, display screen, to attach to a window, and a computer program to reduce the cost of wide scale deployment. Further, the distributed computer programs deployed in the vehicles may enforce subscriber requirements for rendering the content, such as time period, location, and traffic density, to ensure the rendering of the content on the display screen satisfies subscriber requirements.

FIG. 1 illustrates an embodiment of a content distribution environment including a content distribution system 100 to distribute targeted content over a network 102 to vehicles 104 ₁, 104 _(i) . . . 104 _(n) driving in the same or different regions. The content distribution system 100 comprises one or more processors 106, a main memory 108 including various program components including an operating system 110, and a content distribution manager 112 to generate vehicle content packets 200 to transmit to motor vehicles 104 ₁, 104 _(i) . . . 104 _(n) over the network 102, where the network 102 transmits information to the vehicles 104 ₁, 104 _(i) . . . 104 _(n) over a wireless network 102. The content distribution system 100 is in communication with a storage 116 having a subscriber database 300 having subscriber information on subscribers providing content to distribute to the vehicles 104 ₁, 104 _(i) . . . 104 _(n) and a vehicle database 500 having vehicle information on vehicles 104 ₁, 104 _(i) . . . 104 _(n) registered with the content distribution system to display content provided by subscribers. An instance of the subscriber information 300′ from the subscriber database 300 and vehicle information 500′ from the vehicle database 500 may be stored in the memory 108 for access.

The content distribution manager 112 may maintain content assignments 600 providing information on content from subscribers assigned to vehicles 104 ₁, 104 _(i) . . . 104 _(n) to which the content is distributed over the network 102.

Each vehicle 104 ₁, 104 _(i) . . . 104 _(n) may include the components shown in vehicle 104 ₁, including a mobile communication device 118 storing a content rendering program 120 executed in the mobile communication device 118 to receive vehicle content packets 200 from the content distribution system 100 and generate content to stream to a projector 122 to cause the display of the content on a display screen 124 affixed to the vehicle 104 ₁. The mobile communication device 118 further includes a Global Positioning System (GPS) 126 to determine a location of the mobile communication device 118 and a wireless transceiver 128 to allow wireless communication with devices, such as BLUETOOTH®, wireless local area networking, e.g., WI-FI™, etc. The mobile communication device 118 may comprise a smartphone, a RASBERRY PI®, or other dedicated communication and processing device. The mobile communication device 118 may communicate with the projector 122 via wireless communication or through a cable connecting the mobile communication device 118 to the projector 122. In alternative embodiments, there may be no projector 122 and the mobile communication device 118 may stream content directly to the display screen 124 _(i) to directly render. (Bluetooth is a registered trademark of the Bluetooth Special Interest Group, WIFI is a trademark of the Wi-Fi Alliance, Rasberry Pi is a registered trademark of the Rasberry Pi Foundation).

In one embodiment the display screen 124 _(i) may be affixed to an inside of the rear window, as shown with display screens 124 _(i) and 124 _(n). For instance, in one embodiment, the display screen 124 may comprise a thin film or flexible display, such as a rollable display screen, a projection screen, etc. In certain embodiments, the display screen 124 _(i) may have an adhesive on one side to adhere to the inside of the rear window, as shown with display screens 124 _(i) and 124 _(n). Alternatively, the display screen 124 comprising a thin film display may adhere to the window of the vehicle 104 _(i) by static cling.

The projector 122 may be affixed to an inside surface of the vehicle 104 _(i) and project the streamed content onto the display screen such as through a projection system. In an alternative embodiment, the projector 122 may be physically coupled to the display screen 124 _(i) to project content to the display screen elements. In one embodiment, the display screen 124 _(i) may comprise a one-way transparent display to allow the driver to see through the rear window from the inside of the car while content is displayed on a surface of the display screen 124 _(i) facing outward from the vehicle to be visible to persons external to the vehicle 104 _(i), such as a see through display, transparent Liquid Crystal Display (LCD), transparent organic light-emitting diode (OLED), etc. In thin film embodiments, the display screen 124 _(i) may comprise Vistique Clear Film from Vislogix, Inc.

The vehicle 104 _(i) may further have a brake sensor 130 coupled to the brake pedal to mechanically detect depression of the brake pedal or the brake sensor 130 may be coupled to the vehicle 104 _(i) electrical system to detect when the brakes are being applied so as to cause the rendering of a brake notification with the content simultaneously rendered on the display screen 124 _(i) to alert drivers behind the vehicle 104 _(i) that the brakes are being applied.

Further, the mobile communication device 118, projector 122, and display screen 124 _(i) may continue to render content to persons external to the vehicle while the vehicle is in a parked or stopped state so that people may continue to view content at the location of the vehicle.

With the embodiment of FIG. 1, the operator of the content distribution system 100 may provide drivers, such as ride-sharing drivers, the display screen 124 _(i) and projector 122 to affix to their car. In embodiments where the mobile communication device 118 comprises a smartphone, a driver may then download the content rendering program 120 to their smartphone to use to stream content to the projector 122 to then project onto the display screen 124 _(i). In further embodiments, the operator of the content distribution system 100 may further provide the mobile communication device 118 that is used to receive the vehicle content packets 200 and stream content therein to the projector 122.

The content distribution system 100 may comprise one or more servers, where the components and functions of the content distribution manager 112 may be implemented in one or more servers. The vehicle 104 _(i) may comprise any type of motor vehicle, personal vehicle, commercial, truck, bus, car, autonomously driven car, etc. The content distribution system 100 may store program components and corresponding data, such as 110, 112, 200, 300′, 500′, and 600 may be stored in a non-volatile storage (not shown) and loaded into the memory 104, which may comprise a suitable volatile or non-volatile memory devices, including those described above. The storage 116 may comprise a non-volatile storage system coupled directly to the content distribution system 100 or the content distribution system 100 may communicate with the storage 116 over a network.

Generally, program modules, such as the program components 112, 120 may comprise routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. The program components and hardware devices of the content distributions system 100 and mobile communication device 118 of FIG. 1 may be implemented in one or more computer systems, where if they are implemented in multiple computer systems, then the computer systems may communicate over a network.

The content distribution manager 112 may be accessed by the processor 106 from the memory 104 to execute. The content rendering program 120 may be executed by a processor in the mobile communication device 118. Alternatively, some or all of the program components 112, 120 may be implemented in separate hardware devices, such as Application Specific Integrated Circuit (ASIC) hardware devices.

The functions described as performed by the programs 112, 120 may be implemented as program code in fewer program modules than shown or implemented as program code throughout a greater number of program modules than shown.

The network 102 may comprise a cellular network, the Internet, etc.

FIG. 2 illustrates an embodiment of an instance 200, of a content packet generated by the content distribution manager 112 to direct to a particular vehicle 104 ₁, 104 _(i) . . . 104 _(n), and includes a mobile communication device network address 202 in a vehicle 104 _(i) to which the content is targeted; one or more instances of content 204 ₁ . . . 204 _(n), such as video or still images; a time period 208 during which the content is displayed 204 ₁ . . . 204 _(n), e.g., one or more time ranges within a day, multiple days, etc.; a content location 210 within which the content 204 _(i) . . . 204 _(n) is to be displayed, such as a region or bounded area of Global Positioning System (GPS) coordinates, such as a city, township, part of town, shopping area, e.g., the Golden Triangle of Beverly Hills, Upper East Side of Manhattan, etc., or other identifiable or user defend area, also known as a geo-fence. A geo-fence comprises a geographic boundary, defined by GPS or other technology, that enables software to trigger a response when a mobile device enters or leaves a particular area; and a traffic density value 212 indicating a traffic density, e.g., light, moderate, heavy, in which the content 204 ₁ . . . 204 _(n) should be displayed. Content 204 ₁ . . . 204 _(n) instances may each be displayed for a set duration in continual loops during the time period 208 while the vehicle, identified by the mobile communication device address 202, is present within the content location 210 and traffic density 212.

FIG. 3 illustrates an embodiment of an instance of subscriber information 300 _(i) in the subscriber database 300 providing information on content provided by a subscriber, including a subscriber identifier (ID) 302; one or more content instances 400 that the subscriber 302 has transacted to have distributed to vehicles 104 ₁, 104 _(i) . . . 104 _(n), to display. In certain embodiments, the subscriber may have purchased to have their content instances 400 distributed to vehicles, which may comprise advertisements or other types of contents. An online auction system, such as used with Google® ADWORDS®, may be used to enable subscribers to bid to have their content distributed to vehicles 104 ₁, 104 _(i) . . . 104 _(n) based on location, time period, and traffic density, where subscribers may pay more to have content distributed to more high traffic and high density locations with numerous potential customers during time periods where potential customers are likely to be present at the content location. (Google and ADWORDS are registered trademarks of Google LLC throughout the world).

FIG. 4 illustrates an embodiment of a content instance 400 _(i) provided by a subscriber 302, and includes: a content identifier (ID) 402; a content instance 404, such as a video, still image, etc.; a content location value 406 indicating a region in which the content 404 is to be displayed, i.e., geo-fence; one or more time periods 408 during which the content 404 is to be displayed; a traffic density value 410 indicating a traffic density in which the content 404 should be displayed, such as a minimum traffic density; and a priority value 412 indicating a priority associated with the content 404 to be rendered, which may indicate a maximum payment the subscriber has made to distribute the content 404, such that content having a higher priority value 412, higher fee paid, is preferred to transmit to vehicles 104 ₁, 104 _(i) . . . 104 _(n) satisfying the criteria for rendering the content 404, 406, 408 over content 404 having a lower priority value if there is limited space available at the vehicles 104 ₁, 104 _(i) . . . 104 _(n) to display the content according to the criteria 404, 406, 408 for rendering content.

In further embodiments, there may be additional subscriber criteria for rendering content, in addition to location, time period, traffic density, and priority value.

FIG. 5 illustrates an embodiment of an instance of vehicle information 500 _(i) in the vehicle database 500 having information on the vehicles 104 ₁, 104 _(i) . . . 104 _(n) that have registered to stream distributed content, including a vehicle identifier (ID) 502; a vehicle location value 504 indicating a current location of the vehicle determined from a GPS signal from the vehicle mobile communication device 118; an operational state 506 indicating whether the vehicle is operating or off; a traffic density value 508 indicating the traffic density at the vehicle location 504, which may be determined by contacting a traffic server over the network 102; accrued earnings 510 indicating an amount the vehicle operator has earned by rendering content on the display screen 124 _(i) of the vehicle 104 ₁; a vehicle network address 512 used to communicate with the mobile communication device 118 associated with the vehicle 502; and content instances assigned to the vehicle 514 to render during a time period.

In one embodiment, the vehicle location value 504 may be determined by the mobile communication device 118 and transmitted to the content distribution manager 112. The vehicle traffic density value 508 may be determined by the mobile communication device 118 or content distribution manager 112 by sending a traffic Application Programming Interface (API) with the vehicle location value 504 to a traffic service that provides real time traffic information.

FIG. 6 illustrates an embodiment of an instance of a content assignment 600 _(i) of the content assignments 600 indicating a vehicle ID 602 of a vehicle 104 ₁ (or network address of a mobile communication device 118) at which the content identified by content ID 604 is to be rendered, and a status 606 indicating whether the content was rendered or not. For an assignment 600 _(i), the vehicle attribute values, such as 504, 506, 508 in the vehicle information 500 _(i), would satisfy the subscriber rendering criteria, such as 406, 408, 410 in the content instance information 400 _(i) from the subscriber.

In certain embodiments, the subscriber database 300, vehicle database 500, and content assignments 600 may be implemented in relational database records in one or more tables having the information fields described in FIGS. 3, 4, 5, and 6. The databases 300, 500 and information 600 may also be implemented in other types of information stores, such as an object oriented database, structured document, etc.

FIG. 7 illustrates an embodiment of operations performed by the content distribution manager 112 to generate content packets 200 for a current time period from content provided by subscribers for the current time period. Upon initiating (at block 700) packet generating operations to distribute packets 200 to vehicles 104 ₁, 104 _(i) . . . 104 _(n), the content distribution manager 112 performs a loop of operations at blocks 702 through 712 for each priority value p, from a highest priority value to a lowest priority value. At block 704, a determination is made of groups of content instances 400 _(i), where each group has content instances with a priority value 412 of p, a time period 408 comprising the current time period, and a same location 406 and traffic density 410. For each determined group of content instances 400 _(i), the content distribution manager 112 determines (at block 706) vehicles having an operational state 506 of operation and having a location 504 and within a traffic density 508 of those 406, 410 in the group of determined content instances being considered. For each determined group of content instances for a same location 406 and traffic density 410 for which there are determined vehicles at the same location 504 and traffic density 508, the content distribution manager 112 assigns (at block 708) the group of content instances to one or more of the determined vehicles in the determined group of content instances, where up to a maximum number of multiple content instances may be assigned to each vehicle. For each of the determined vehicles assigned content instances, the content distribution manager 112 constructs (at block 710) a content packet 200 including the vehicle network address 512 in field 202, the content 404 of the assigned content instances 400 i assigned to the vehicle, and the time period 408, location 406, and traffic density 410 of the assigned content instances in fields 208, 210, and 212 of the packet 200 _(i). If the packet 200 includes multiple content instances 204 ₁ . . . 204 _(n), then the mobile communication device 118 may alternate displaying the content for same or different durations, such as in a round robin fashion, looping through the content 204 ₁ . . . 204 _(n). The content distribution manager 112 transmits (at block 712) the content packets 200 _(i) to their identified mobile communication device network address 202 to render the content 204 ₁ . . . 204 _(n) on the display screen 124 _(i) at the motor vehicle at which the content packet 200 _(i) is received.

With the embodiment of FIG. 7, computer operations are optimized by selecting content instances to assign to vehicles and transmit to the vehicles by first assigning content instances having a highest priority value so that higher priority value content instances are assigned and distributed to the mobile communication devices 118 in the assigned vehicles 104 ₁, 104 _(i) . . . 104 _(n) before lower priority value content. Further, content instances are grouped by location and traffic density to allow determination of vehicles having matching location and traffic density to which the content instances are to be assigned to optimize the assignment of content instances to vehicles. Described embodiments provide real time calculations of location and traffic density for the vehicles to assign content based on current location 504 and traffic density values 508 at the vehicles, as indicated in vehicle information 500 _(i), so that the content 404 is directed to vehicles currently satisfying the location 406 and traffic density 410 specified for the content 404 in the content instance information 400 _(i). In this way, the described database information and data structures improves and optimizes the computer operations and algorithm to route and assign subscriber content to mobile communication devices at vehicles to render on display screens at the vehicles.

FIG. 8 illustrates an embodiment of operations performed by the content rendering program 120 in the mobile communication device 118 at a vehicle 104 _(i) upon receiving a content packet 200 _(i) including content 204 i . . . 204 _(n), a time period during 208 which to display content, a content location 210 in which the content instances are to be rendered, and a traffic density value 212. Upon receiving (at block 800) the content packet 200 _(i), a current location of the vehicle 502 and the vehicle traffic density value 508 may be updated (at block 802), such as from the GPS 126 in the mobile communication device 118 and by sending a command, via transceiver 128, to a network accessible traffic service site to obtain current traffic density. If (at block 804) the current time is within the content time period 208, a current vehicle location 504 within the content location 210, and the vehicle traffic density value 508 and the content traffic density value 212, i.e., the vehicle attributes satisfy the content packet attributes, then the content rendering program 120 initiates (at block 806) a sequence to display each content instance 204 ₁ . . . 204 _(n) for a display duration. Each content instance 204 ₁ . . . 204 _(n) is transmitted (at block 808) in the sequence to the projector 122 to render on the display screen 124 _(i) while the vehicle is in motion, stuck in traffic or parked. A content display time is incremented (at block 810) for each content instance rendered by a time the content instance was rendered on the display screen 124 _(i).

If (at block 804) the vehicle attribute values, such as current time, vehicle location 504, and vehicle traffic density 508, no longer satisfy the content time period 208, location 210, and traffic density 212 requirements, then the content rendering program 120 terminates (at block 812) transmission of the content to the projector to cease display of content on the display screen 124 _(i). The content rendering program 120 generates (at block 814) a display complete packet indicating the vehicle identifier 502 and for each content instance rendered included in the acknowledgment packet, the content display time during which the content instance was rendered on the display screen 124 _(i). The display complete packet is transmitted (at block 816) to the content distribution system 100.

With the described embodiment of FIG. 8, content is rendered on a display screen 124 _(i) coupled to the vehicle 104 _(i) that display the received content visible to people external to the vehicle 104 _(i) looking at the display screen 124 _(i), while the driver may be able to see a rear view of the road through the display screen 124 _(i). Further, the content rendering program 120 in the mobile communication device 118 in the vehicle 104 _(i) further terminates the display of the provided content if the rendering attributes are not satisfied, such as the time period during 208 which content is to be displayed, the content location 210 at which the content is to be displayed and/or a vehicle traffic density 508 is not the content traffic density 212 in which the content is to be rendered. Described embodiments provide improved computer technology to ensure that content is only rendered if rendering would satisfy requirements specified by subscribers by having the control of the rendering handled at the vehicle 104 _(i) site.

FIG. 9 illustrates an embodiment of operations performed by the content distribution manager 112 upon receiving (at block 900) from a vehicle 104 _(i) a complete packet indicating the content display times for content instances rendered on the display screen 124 _(i) at the vehicle 104 _(i) for a time period 208, location 210, and traffic density 212 specified for the rendering. The content distribution manager 112 determines (at block 902) a fee associated with a lowest priority value of all assigned content instances 400 _(i), in the content assignments 600, having the same content time period 404, content location 406, and content traffic density value 410 as that of the content instances assigned to the vehicle sending the complete packet. If content instances for a same location, time period, and traffic density are distributed for different priority values, then a subscriber purchasing a higher priority value will only be charged commensurate with the subscriber purchasing at a lowest priority value who had content distributed to vehicles for the same time period, location, and traffic density. This ensures that all subscribers are charged a same amount, the fee associated with the lowest priority value having content distributed according to the same criteria, e.g., time period, location, and traffic density. Earnings for the vehicle/driver sending the complete packet are calculated (at block 904) based on the content display times and determined fee. The vehicle accrued earnings 510 are incremented (at block 906) by the calculated earnings.

With the embodiment of FIG. 9, even if subscribers paid different amounts for different priority values for content to render at a same time period, location, and traffic density, all subscribers having their content distributed for the same time period, location, and traffic density will be charged the same amount, at the level of the content having a lowest priority value, so that subscribers bidding at higher levels do not pay more for the same level of content distribution service. In this way, described embodiments provide improved computer technology for calculating charges and earnings to subscribers that ensure fairness in the charging of services.

FIG. 10 illustrates an embodiment of operations performed by the content rendering program 120 to process a brake signal from the brake sensor 130 indicating that brakes have been applied, such as through depression of the brake pedal. Upon detecting (at block 1000) a brake signal, the content rendering program 120 continues (at block 1002) to render content from a content package 200 _(i) on the display screen 124 _(i). The content rendering program 120 may further render (at block 1004) a brake notification graphic on the display screen 124 _(i) concurrently with rendering the content 204 ₁ on the display screen 124 _(i).

With the embodiment of FIG. 10, if the brake is applied while content is being rendered on the display 124 _(i), the content rendering program 120 continues to display 124 _(i) the content, but also displays a brake notification to alert drivers behind the vehicle of application of the brake to improve safety.

FIGS. 11-16 illustrate a further embodiment where the subscriber information 300 comprises subscriber information from a subscriber operating a digital display screen visible to persons in vehicles in traffic, such as a digital billboard, that displays subscriber content. The subscriber content being displayed may be provided by content providers, such as companies wanting to advertise products and services on the digital billboard.

FIG. 11 illustrates an embodiment of an instance of subscriber information 1100 _(i) maintained by a subscriber operating the billboard or fixed screen, which may be stored in the subscriber database 300, and includes a subscriber identifier (ID) 1102 identifying the subscriber providing the information 1100 _(i) and one or more instances of display content 1104 _(i) . . . 1104 _(n), such as advertisements or other information, to render on vehicle display screens 124 _(i) according to a display schedule 1200 contemporaneously during a content time period with subscriber content being rendered in a display screen operated by the subscriber 1102 at a subscriber display location 1106 location; and a display boundary 1108 including the subscriber display location 1106 in which vehicles 104 ₁ should display the display content 1104 _(i) during the display schedule 1200. The vehicles 104 _(i) and display screen 124 _(i) may be configured and operate as described above.

In one embodiment, the display schedule 1200 may provide a start time and end time, or content time period, during which the display content 1104 _(i) instances are to be rendered in a sequence or other pattern. The display schedule 1200 may provide specific start and end times for each instance of display content or provide a duration and order during which each display content instance 1104 _(i) is rendered an overall content time period. The display content instances 1104 _(i) . . . 1104 _(n) may be continually rendered in a loop according to the display schedule 1200. If there is only one display content 1104 _(i) to render in the subscriber information 1100 _(i), then the display schedule 1200 may comprise a start and end times to render that content at a subscriber display screen at the subscriber display location 1106. The display boundary 1108 may comprise a radius or other geographical fence surrounding the subscriber display location 1106. The display content 1104 _(i) may comprise a digital still image or digital video.

FIG. 12 illustrates an embodiment of the display schedule 1200 as including a start time 1202 and end time 1204 (defining a content time period) and one or more instances of display content IDs 1206 ₁ . . . 1206 _(n) identifying the display content 1104 ₁ . . . 1104 _(n) and a display time 1208 ₁ . . . 1208 _(n) during which the corresponding display content 1206 ₁ . . . 1206 _(n) is to be rendered. The display content instances 1206 _(i) may be rendered continuously in a loop for their corresponding display times 1208 _(i) between the start time 1202 and end time 1204. Other embodiments of specifying the schedule to render the display content may be provided. The display schedule 1200 is provided to contemporaneously display the display content at the vehicles 104 _(i) contemporaneously in the content time period with corresponding subscriber content rendered at a display screen operated by the subscriber at the subscriber display location 1106.

FIG. 13 illustrates an embodiment of a content packet 1300 having content to generate at the vehicles 104 _(i) that is generated by the content distribution manager 112 by processing the subscriber information 1100 _(i). The content packet 1300 includes a mobile communication device network address 1302 of a vehicle 104 _(i) to which the content is targeted; a display boundary 1306, such as display boundary 1108; a start time 1308, such as start time 1202; an end time 1310, such as end time 1024; one or more instances of display content 1312 ₁ . . . 1312 _(n) comprising display content 1104 _(i) . . . 1104 _(n); and display times 1314 ₁ . . . 1314 _(n) during which the corresponding display content 1104 ₁ . . . 1104 _(n) is rendered. The display times 1314 _(i) may comprise specific one or more times during which the corresponding content 1312 i is to be displayed or a time period during which to display the corresponding content 1312 _(i) in a loop between the start time 1308 and end time 1310.

In one embodiment the display schedule 1200 may specify display times so that the display content 1104 _(i) is rendered contemporaneously with the corresponding subscriber content during the content time period, between start and end times, on the subscriber display screen at the subscriber display location 1106. Rendering the subscriber content with the display content “contemporaneously during the content time period” may refer to the subscriber content and display content at the vehicles being rendered at different times within the content time period or being rendered simultaneously within the content time period. The display content 1104 _(i) may be related to the subscriber content, such as being the same comment formatted for the vehicle display screen size 124 _(i) or content supplements the subscriber content.

FIG. 14 illustrates an embodiment of operations performed by the content distribution manager 112 upon receiving (at block 1400) subscriber information 1100 _(i) with the display content to render. The received subscriber information 1100 _(i) is saved (at block 1402) in the subscriber database 300.

FIG. 15 illustrates an embodiment of operations performed by the content distribution manager 112 to generate a content packet 1300 to distribute to vehicles 104 _(i) to display. Upon detecting (at block 1500) that a display schedule 1200 for subscriber information will begin within a specified time period, the content distribution manager 112 determines (at block 1502) vehicles 104 _(i) within the display boundary 1108 for a subscriber information 1100 _(i) instance in the subscriber database 300. Display time 1314 _(i) information is generated (at block 1504) based on the display schedule 1200 in the subscriber information 1100 _(i) indicating times to display at the vehicles 104 _(i). The content distribution manager 112 generates (at block 1506) a content packet 1300 for each of the determined vehicles having, for each determined vehicle, a mobile communication device network address 1304 for the vehicle, the display boundary 1306, start 1308 and end 1310 times for displaying the display content 1312 _(i) and the generated display time information 1314 _(i) for the corresponding display content 1312 _(i). The generated content packages 1300 are transmitted (at block 1508) to the determined vehicles 104 _(i) identified in the content packet to cause the display of the display content on vehicle display screens 124 _(i) coupled to the vehicles 104 _(i), as described above, during the start 1308 and end 1310 times.

The content distribution manager 112 may periodically perform the operations of FIG. 15 within the start 1308 and end 1310 times to determine any additional vehicles within the display boundary 1306 to receive the content packet 1300. In further embodiments, the content packet 1300 may be sent to a predetermined number of vehicles specified by the subscriber in the subscriber information 1100 _(i), where the subscriber pays varying amounts for different numbers of vehicles on which to render the display content instances.

FIG. 16 illustrates an embodiment of operations performed by the content rendering program 120 in the mobile communication device 118 at a vehicle 104 _(i) upon receiving a content packet 1300 including display content 1312 _(i) and corresponding display time 1314 _(i) information and a display boundary 1306 in which the content instances are to be rendered. Upon receiving (at block 1600) the content packet 1300, a current location of the vehicle 502 may be updated (at block 1602), such as from the GPS 126 in the mobile communication device 118. If (at block 1604) the current time is within the start 1308 and end 1310 times (content time period) and the vehicle 104 _(i) located within the display boundary 1306, then the content rendering program 120 initiates (at block 1606) a sequence to display each content instance 1312 _(i) according to the display times 1314 i, which may specify specific times or time durations to display. Each content instance 1312 _(i) is transmitted (at block 1608) in the sequence to the projector 122 to render on the display screen 124 _(i) while the vehicle is in motion, stuck in traffic or parked. A content display time is incremented (at block 1610) for each content instance rendered by a time the content instance was rendered on the display screen 124 _(i). If there is only one display content 1312 ₁ instance provided in the content packet 1300, then that single display content 1312 ₁ may be rendered during the entire content time period.

If (at block 1604) the vehicle attribute values, such as current time and vehicle location 504 do not satisfy the start 1308 and end 1310 times and display boundary 1306 requirements, then the content rendering program 120 terminates or does not initiate (at block 1612) transmission of the content to the projector to cease display of content on the display screen 124 _(i). The content rendering program 120 generates (at block 1614) a display complete packet indicating the vehicle identifier 502 and for each content instance 1312 _(i) rendered included in the acknowledgment packet, the content display time during which the content instance was rendered on the display screen 124 _(i). The display complete packet is transmitted (at block 1616) to the content distribution system 100.

With the described embodiment of FIG. 16, content is rendered on a display screen 124 _(i) coupled to the vehicle 104 _(i) to display the received content visible to people external to the vehicle 104 _(i) looking at the display screen 124 _(i), while the driver may be able to see a rear view of the road through the display screen 124 _(i). Further, the display content 1312 _(i) is displayed at the vehicles contemporaneously with the related content being rendered on a display screen at a fixed location operated by the subscriber to have the vehicles supplement or repeat the content being rendered in the display screen. The display content 1312 _(i) at the vehicles may be displayed concurrently with the related content being displayed on the subscriber display screen at the subscriber display location 1106 or the display content 1312 _(i) at the vehicles and subscriber content may be displayed at different moments within the same content time period (start 1308 and end 1310 times).

Further, the content rendering program 120 in the mobile communication device 118 in the vehicle 104 _(i) further terminates the display of the provided content 1312 _(i) if the rendering attributes are not satisfied, such as the time period 1308, 1310 and the display boundary 1306. Described embodiments provide improved computer technology to ensure that content is displayed at vehicles to provide additional displays of related content for content being rendered at a display screen, such as a digital billboard.

The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

The computer program product comprises a computer readable storage medium implemented using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The described operations may be implemented as code or logic maintained in a “computer readable storage medium”. The term “code” and “program code” as used herein refers to software program code, hardware logic, firmware, microcode, etc. The computer readable storage medium, as that term is used herein, includes a tangible, physical element, including at least one of electronic circuitry, storage materials, a casing, a housing, a coating, hardware, and other suitable materials. A computer readable storage medium may comprise, but is not limited to, a magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash Memory, firmware, programmable logic, etc.), Solid State Devices (SSD), computer encoded and readable punch cards, etc. The computer readable storage medium may further comprise a hardware device implementing firmware, microcode, etc., such as in an integrated circuit chip, a programmable logic device, a Programmable Gate Array (PGA), field-programmable gate array (FPGA), Application Specific Integrated Circuit (ASIC), etc. A computer readable storage medium is not comprised solely of transmission signals and includes physical hardware and tangible components. Those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention, and that the article of manufacture may comprise suitable information bearing medium known in the art.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

The computational components of FIG. 1, including the content distribution system 100 and the mobile communication device 118 may be implemented in one or more computer systems, having a computer architecture as shown in FIG. 17, and including a processor 1702 (e.g., one or more microprocessors and cores), a memory 1704 (e.g., a volatile memory device), and storage 1706 (e.g., a non-volatile storage, such as magnetic disk drives, solid state devices (SSDs), optical disk drives, a tape drive, etc.). The storage 1706 may comprise an internal storage device or an attached or network accessible storage. Programs, including an operating system 1708 and applications 1710 stored in the storage 1706 are loaded into the memory 1704 and executed by the processor 1702. The architecture 1700 further includes a network card 1712 to enable communication with the network 102, which may comprise a wireless network, e.g., cellular, WI-FI™, BLUETOOTH® or a wired network. An input device 1714 is used to provide user input to the processor 1702, and may include a keyboard, mouse, pen-stylus, microphone, touch sensitive display screen, or any other activation or input mechanism known in the art. An output device 1716, such as a display monitor, printer, storage, etc., is capable of rendering information transmitted from a graphics card or other component. The output device 1716 may render the GUIs described with respect to figures and the input device 1714 may be used to interact with the graphical controls and elements in the GUIs described above. The architecture 1700 may be implemented in any number of computing devices, such as a server, mainframe, desktop computer, laptop computer, hand held computer, tablet computer, personal digital assistant (PDA), telephony device, cell phone, etc.

The terms “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean “one or more (but not all) embodiments of the present invention(s)” unless expressly specified otherwise.

The terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.

The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.

A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.

When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the present invention need not include the device itself.

The foregoing description of various embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims herein after appended. 

What is claimed is:
 1. A computer program product for determining content to transmit to vehicles to render on vehicle display screens, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that is executable to perform operations, the operations comprising: maintaining, in a vehicle database, vehicle information indicating, for each vehicle of a plurality of vehicles, a vehicle location value; maintaining, in a subscription database, subscriber information for a subscriber, indicating display content, a content time period, a subscriber display location at which the subscriber renders subscriber content contemporaneously with the display content during the content time period, and a display boundary in which the display content is to be rendered; determining vehicles having a vehicle location within the display boundary of the subscriber display location; and transmitting to each of the determined vehicles a content package having the display content and the content time period to cause rendering of the display content on the vehicle display screens coupled to the vehicles contemporaneously with rendering the subscriber content at the subscriber display location.
 2. The computer program product of claim 1, wherein the display content is rendered at the determined vehicles simultaneously during the content time period with the subscriber content rendered at the subscriber display location.
 3. The computer program product of claim 1, wherein the display content comprises first display content to render contemporaneously during the content time period with first subscriber content rendered at the subscriber display location and second display content to render contemporaneously during the content time period with second subscriber content at the subscriber display location, wherein the transmitting the content package causes the determined vehicles to alternate between rendering the first display content and the second display content to contemporaneously render during the content time period the first and second display content with the rendering of the first and second subscriber content, respectively, at the subscriber display location.
 4. The computer program product of claim 1, wherein the display content comprises at least one of same content as the subscriber content formatted for rendering on the vehicle display screens and information supplementing the subscriber content.
 5. The computer program product of claim 1, wherein the content package causes the determined vehicles to terminate rendering the display content on the vehicle display screens in response to the determined vehicles being located outside the display boundary.
 6. The computer program product of claim 1, wherein the operations further comprise: receiving the subscriber information from the subscriber over a network, wherein the subscriber operates a display screen at the subscriber display location to display the subscriber content to traffic contemporaneously during the content time period with the rendering of the display content at the vehicle display screens.
 7. The computer program product of claim 6, wherein the received subscriber information includes multiple instances of display content related to multiple instances of subscriber content and a display schedule to have the multiple instances of display content rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen at the subscriber display location.
 8. The computer program product of claim 7, wherein the operations further comprise: processing the display schedule to generate display time information for each instance of the display content to cause the multiple instances of display content to be rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen.
 9. A system for determining content to transmit to vehicles to render on vehicle display screens, comprising: a processor; and a computer readable storage medium having computer readable program code embodied therein that when executed by the processor causes operations, the operations comprising: maintaining, in a vehicle database, vehicle information indicating, for each vehicle of a plurality of vehicles, a vehicle location value; maintaining, in a subscription database, subscriber information for a subscriber, indicating display content, a content time period, a subscriber display location at which the subscriber renders subscriber content contemporaneously with the display content during the content time period, and a display boundary in which the display content is to be rendered; determining vehicles having a vehicle location within the display boundary of the subscriber display location; and transmitting to each of the determined vehicles a content package having the display content and the content time period to cause rendering of the display content on the vehicle display screens coupled to the vehicles contemporaneously with rendering the subscriber content at the subscriber display location.
 10. The system of claim 9, wherein the display content is rendered at the determined vehicles simultaneously during the content time period with the subscriber content rendered at the subscriber display location.
 11. The system of claim 9, wherein the display content comprises at least one of same content as the subscriber content formatted for rendering on the vehicle display screens and information supplementing the subscriber content.
 12. The system of claim 9, wherein the operations further comprise: receiving the subscriber information from the subscriber over a network, wherein the subscriber operates a display screen at the subscriber display location to display the subscriber content to traffic contemporaneously during the content time period with the rendering of the display content at the vehicle display screens.
 13. The system of claim 12, wherein the received subscriber information includes multiple instances of display content related to multiple instances of subscriber content and a display schedule to have the multiple instances of display content rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen at the subscriber display location.
 14. The system of claim 13, wherein the operations further comprise: processing the display schedule to generate display time information for each instance of the display content to cause the multiple instances of display content to be rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen.
 15. A method for determining content to transmit to vehicles to render on a vehicle display screen, comprising: maintaining, in a vehicle database, vehicle information indicating, for each vehicle of a plurality of vehicles, a vehicle location value; maintaining, in a subscription database, subscriber information for a subscriber, indicating display content, a content time period, a subscriber display location at which the subscriber renders subscriber content contemporaneously with the display content during the content time period, and a display boundary in which the display content is to be rendered; determining vehicles having a vehicle location within the display boundary of the subscriber display location; and transmitting to each of the determined vehicles a content package having the display content and the content time period to cause rendering of the display content on the vehicle display screens coupled to the vehicles contemporaneously with rendering the subscriber content at the subscriber display location.
 16. The method of claim 15, wherein the display content is rendered at the determined vehicles simultaneously during the content time period with the subscriber content rendered at the subscriber display location.
 17. The method of claim 15, wherein the display content comprises at least one of same content as the subscriber content formatted for rendering on the vehicle display screens and information supplementing the subscriber content.
 18. The method of claim 15, further comprising: receiving the subscriber information from the subscriber over a network, wherein the subscriber operates a display screen at the subscriber display location to display the subscriber content to traffic contemporaneously during the content time period with the rendering of the display content at the vehicle display screens.
 19. The method of claim 18, wherein the received subscriber information includes multiple instances of display content related to multiple instances of subscriber content and a display schedule to have the multiple instances of display content rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen at the subscriber display location.
 20. The method of claim 19, further comprising: processing the display schedule to generate display time information for each instance of the display content to cause the multiple instances of display content to be rendered at the vehicle display screens contemporaneously during the content time period with rendering the multiple instances of the subscriber content at the display screen. 